package com.ruoyi.web.controller.mall.goodsType.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.web.controller.mall.goodsTypeParams.domain.GoodsTypeParams;
import com.ruoyi.web.controller.mall.goodsTypeSpec.domain.GoodsTypeSpec;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import java.util.Date;
import java.util.List;

/**
 * 商品类型对象 goods_type
 * 
 * @author ruoyi
 * @date 2021-01-18
 */
public class GoodsType //extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** ID */
    private String id;

    /** 店铺id */
    @Excel(name = "店铺id")
    private String shopId;

    /** 类型名称 */
    @Excel(name = "类型名称")
    private String name;

    /** 实物商品 */
    @Excel(name = "实物商品")
    private Integer isPhysical;

    /** 使用规格 */
    @Excel(name = "使用规格")
    private Integer hasSpec;

    /** 使用属性 */
    @Excel(name = "使用属性")
    private Integer hasProp;

    /** 使用参数 */
    @Excel(name = "使用参数")
    private Integer hasParam;

    /** 关联品牌 */
    @Excel(name = "关联品牌")
    private Integer hasBrand;

    /** 创建用户ID */
    @Excel(name = "创建用户ID")
    private Long userIdCreate;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date gmtCreate;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "修改时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date gmtModified;

    /** 删除标记 */
    private Integer delFlag;
    private Integer pageSize;
    private Integer pageNum;

    private List<GoodsTypeSpec> typeSpecList;

    private List<GoodsTypeParams> typeParamsList;


    public Integer getPageSize() {
        return pageSize;
    }

    public void setPageSize(Integer pageSize) {
        this.pageSize = pageSize;
    }

    public Integer getPageNum() {
        return pageNum;
    }

    public void setPageNum(Integer pageNum) {
        this.pageNum = pageNum;
    }

    public List<GoodsTypeSpec> getTypeSpecList() {
        return typeSpecList;
    }

    public void setTypeSpecList(List<GoodsTypeSpec> typeSpecList) {
        this.typeSpecList = typeSpecList;
    }

    public List<GoodsTypeParams> getTypeParamsList() {
        return typeParamsList;
    }

    public void setTypeParamsList(List<GoodsTypeParams> typeParamsList) {
        this.typeParamsList = typeParamsList;
    }

    public void setId(String id)
    {
        this.id = id;
    }

    public String getId() 
    {
        return id;
    }
    public void setShopId(String shopId) 
    {
        this.shopId = shopId;
    }

    public String getShopId() 
    {
        return shopId;
    }
    public void setName(String name) 
    {
        this.name = name;
    }

    public String getName() 
    {
        return name;
    }
    public void setIsPhysical(Integer isPhysical) 
    {
        this.isPhysical = isPhysical;
    }

    public Integer getIsPhysical() 
    {
        return isPhysical;
    }
    public void setHasSpec(Integer hasSpec) 
    {
        this.hasSpec = hasSpec;
    }

    public Integer getHasSpec() 
    {
        return hasSpec;
    }
    public void setHasProp(Integer hasProp) 
    {
        this.hasProp = hasProp;
    }

    public Integer getHasProp() 
    {
        return hasProp;
    }
    public void setHasParam(Integer hasParam) 
    {
        this.hasParam = hasParam;
    }

    public Integer getHasParam() 
    {
        return hasParam;
    }
    public void setHasBrand(Integer hasBrand) 
    {
        this.hasBrand = hasBrand;
    }

    public Integer getHasBrand() 
    {
        return hasBrand;
    }
    public void setUserIdCreate(Long userIdCreate) 
    {
        this.userIdCreate = userIdCreate;
    }

    public Long getUserIdCreate() 
    {
        return userIdCreate;
    }
    public void setGmtCreate(Date gmtCreate) 
    {
        this.gmtCreate = gmtCreate;
    }

    public Date getGmtCreate() 
    {
        return gmtCreate;
    }
    public void setGmtModified(Date gmtModified) 
    {
        this.gmtModified = gmtModified;
    }

    public Date getGmtModified() 
    {
        return gmtModified;
    }
    public void setDelFlag(Integer delFlag) 
    {
        this.delFlag = delFlag;
    }

    public Integer getDelFlag() 
    {
        return delFlag;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("shopId", getShopId())
            .append("name", getName())
            .append("isPhysical", getIsPhysical())
            .append("hasSpec", getHasSpec())
            .append("hasProp", getHasProp())
            .append("hasParam", getHasParam())
            .append("hasBrand", getHasBrand())
            .append("userIdCreate", getUserIdCreate())
            .append("gmtCreate", getGmtCreate())
            .append("gmtModified", getGmtModified())
            .append("delFlag", getDelFlag())
            .toString();
    }
}
